package com.jic.purchase.model.vo.response;
import java.util.Date;
import java.math.BigDecimal;
import javax.validation.constraints.NotEmpty;

import com.jic.common.base.vo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@NoArgsConstructor
@ApiModel(description = "响应参数")
public class PurchaseOrderResponse extends BaseEntity {
	private static final long serialVersionUID = 1L;
    //@NotEmpty(message = "主键") 
    @ApiModelProperty(notes = "主键")
    private Long id;

    //@NotEmpty(message = "采购单号") 
    @ApiModelProperty(notes = "采购单号")
    private String code;

    //@NotEmpty(message = "采购单名称") 
    @ApiModelProperty(notes = "采购单名称")
    private String name;

    //@NotEmpty(message = "1采购单、2补货单、3退货单、4无采购收货单、5经销单、6、代销单、7、销售单；") 
    @ApiModelProperty(notes = "1采购单、2补货单、3退货单、4无采购收货单、5经销单、6、代销单、7、销售单；")
    private Integer type;

    //@NotEmpty(message = "合同id") 
    @ApiModelProperty(notes = "合同id")
    private Long contractId;

    //@NotEmpty(message = "商家ID") 
    @ApiModelProperty(notes = "商家ID")
    private Long merchantId;

    //@NotEmpty(message = "商家名称") 
    @ApiModelProperty(notes = "商家名称")
    private String merchantName;

    //@NotEmpty(message = "店铺Id") 
    @ApiModelProperty(notes = "店铺Id")
    private Long storeId;

    //@NotEmpty(message = "店铺名称") 
    @ApiModelProperty(notes = "店铺名称")
    private String storeName;

    //@NotEmpty(message = "供应商ID") 
    @ApiModelProperty(notes = "供应商ID")
    private String supplierId;

    //@NotEmpty(message = "供应商名称") 
    @ApiModelProperty(notes = "供应商名称")
    private String supplierName;

    //@NotEmpty(message = "仓库ID") 
    @ApiModelProperty(notes = "仓库ID")
    private String warehouseId;

    //@NotEmpty(message = "仓库名称") 
    @ApiModelProperty(notes = "仓库名称")
    private String warehouseName;

    //@NotEmpty(message = "采购人编码") 
    @ApiModelProperty(notes = "采购人编码")
    private Long purchaseUserId;

    //@NotEmpty(message = "采购人名称") 
    @ApiModelProperty(notes = "采购人名称")
    private String purchaseUserName;

    //@NotEmpty(message = "采购单状态：0-待提交(初始值）；1-待审核（商家/店铺已提交，供应商未接单）；2-已审核(商家/店铺已提交，店铺已接单）；3-审核拒绝(商家/店铺已提交，供应商拒绝接单）；4-已发货(商家/店铺已提交，供应商已发货）；5-已结案(商家/店铺已提交，供应商已发货，商家/店铺已收货（已入库））；6-已过期(生效时间内，未到达已结案状态）；6-已作废(商家/店铺与供应商均作废；或者由运营平台判定作废）；") 
    @ApiModelProperty(notes = "采购单状态：0-待提交(初始值）；1-待审核（商家/店铺已提交，供应商未接单）；2-已审核(商家/店铺已提交，店铺已接单）；3-审核拒绝(商家/店铺已提交，供应商拒绝接单）；4-已发货(商家/店铺已提交，供应商已发货）；5-已结案(商家/店铺已提交，供应商已发货，商家/店铺已收货（已入库））；6-已过期(生效时间内，未到达已结案状态）；6-已作废(商家/店铺与供应商均作废；或者由运营平台判定作废）；")
    private Integer status;

    //@NotEmpty(message = "来源类型；1 手动录入") 
    @ApiModelProperty(notes = "来源类型；1 手动录入")
    private Integer fromType;

    //@NotEmpty(message = "收货方式 1 接收-入库 2 直接-入库 3 接收-检验-入库") 
    @ApiModelProperty(notes = "收货方式 1 接收-入库 2 直接-入库 3 接收-检验-入库")
    private Integer receiveMethod;

    //@NotEmpty(message = "配送方式 1 快递物流") 
    @ApiModelProperty(notes = "配送方式 1 快递物流")
    private Integer deliveryMethod;

    //@NotEmpty(message = "发货地址省份ID") 
    @ApiModelProperty(notes = "发货地址省份ID")
    private Long sendProvinceId;

    //@NotEmpty(message = "发货地址城市ID") 
    @ApiModelProperty(notes = "发货地址城市ID")
    private Long sendCityId;

    //@NotEmpty(message = "发货地址区、县ID") 
    @ApiModelProperty(notes = "发货地址区、县ID")
    private Long sendAreaId;

    //@NotEmpty(message = "发货地址") 
    @ApiModelProperty(notes = "发货地址")
    private String sendAddress;

    //@NotEmpty(message = "收货地址省份ID") 
    @ApiModelProperty(notes = "收货地址省份ID")
    private Long receiveProvinceId;

    //@NotEmpty(message = "收货地址城市ID") 
    @ApiModelProperty(notes = "收货地址城市ID")
    private Long receiveCityId;

    //@NotEmpty(message = "收货地址区、县ID") 
    @ApiModelProperty(notes = "收货地址区、县ID")
    private Long receiveAreaId;

    //@NotEmpty(message = "收货地址") 
    @ApiModelProperty(notes = "收货地址")
    private String receiveAddress;

    //@NotEmpty(message = "要货单号") 
    @ApiModelProperty(notes = "要货单号")
    private String deliveryCode;

    //@NotEmpty(message = "采购日期") 
    @ApiModelProperty(notes = "采购日期")
    private Date purchaseTime;

    //@NotEmpty(message = "预计到货日期") 
    @ApiModelProperty(notes = "预计到货日期")
    private Date deliveryTime;

    //@NotEmpty(message = "采购履行状态 1 未履行 2 部分履行 3 完全履行") 
    @ApiModelProperty(notes = "采购履行状态 1 未履行 2 部分履行 3 完全履行")
    private Integer fulfillStatus;

    //@NotEmpty(message = "附件 多个用,分割") 
    @ApiModelProperty(notes = "附件 多个用,分割")
    private String annex;

    //@NotEmpty(message = "运营方ID") 
    @ApiModelProperty(notes = "运营方ID")
    private Long deptid;

    //@NotEmpty(message = "创建人Id") 
    @ApiModelProperty(notes = "创建人Id")
    private Long creator;

    //@NotEmpty(message = "修改人Id") 
    @ApiModelProperty(notes = "修改人Id")
    private Long updater;

    //@NotEmpty(message = "创建人姓名") 
    @ApiModelProperty(notes = "创建人姓名")
    private String createrName;

    //@NotEmpty(message = "修改人姓名") 
    @ApiModelProperty(notes = "修改人姓名")
    private String updaterName;

    @ApiModelProperty(notes = "采购单下商品")
    private String products;

    private String supplierContactsName;

}
